﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using DECOR.BL.BE;
using DECOR.BL.BC;
using System.Collections.Generic;

namespace DECOR.Touchapp
{
    public partial class imprimir : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string numeroPedido = Request.Params["numeroPedido"] != null ? Request.Params["numeroPedido"] : "";
            string tipoImpresion = Request.Params["tipoImpresion"] != null ? Request.Params["tipoImpresion"] : "";

            if (numeroPedido.Trim().Equals(string.Empty))
            {
                Session["Mensaje"] = "Debe ingresar el número de documento comercial que desea imprimir.";
            }
            else
            {
                if (!tipoImpresion.Equals(""))
                {
                    PedidoBE pObjPedido = PedidoBC.Instance.leer(numeroPedido.Trim());

                    if (pObjPedido != null)
                    {
                        Session["PedidoImpr"] = pObjPedido;
                        //imprimir
                        string imprPage = "";
                        switch (tipoImpresion)
                        {
                            case "0":
                                if (pObjPedido.CodTipoDoc.Equals("Z036"))
                                    imprPage = "DocImpVisitas.aspx";
                                else
                                    imprPage = "DocImpr.aspx";
                                break;
                            case "1"://solo para ofertas:
                                imprPage = "DocImprGrp.aspx";
                                break;
                            case "2"://solo para ofertas:
                                if (!ParametroBC.Instance.esTipoOferta(pObjPedido.CodTipoDoc))
                                {
                                    Session["Mensaje"] = "La impresión seleccionada solo es válida para Ofertas.";
                                    break;
                                }
                                imprPage = "DocEmail.aspx";
                                break;
                            case "3"://solo para ofertas:
                                imprPage = "DocCotizaImpr.aspx";
                                break;
                            default:
                                Session["Mensaje"] = "Debe seleccionar un tipo de impresión válida.";
                                break;
                        }
                        if (!string.IsNullOrEmpty(imprPage))
                        {
                            string str = string.Empty;
                            List<InstalaBE> lstDetalle = null;
                            if ((tipoImpresion.Equals("3")) && (ParametroBC.Instance.esTipoOferta(pObjPedido.CodTipoDoc)))
                            {
                                str = string.Format("<script type='text/javascript'> " +
                                                        "window.open('DocCotizaImpr.aspx?np={1}','','width=390,height=600,top=50,left=350,status=no,resizable=no,scrollbars=yes','true'); " +
                                                  " </script>", imprPage, pObjPedido.NumPedido);
                            }
                            else if (ParametroBC.Instance.esTipoOferta(pObjPedido.CodTipoDoc))
                            {
                                lstDetalle = PedidoBC.Instance.listadoInstalacion(pObjPedido.NumPedido);
                                Session["listadoInstalacion"] = lstDetalle;
                                string script = string.Empty;
                                //script = "<script type='text/javascript'>" +
                                //         "window.open('{0}?np={1}','','width=800,height=600,top=50,left=250,status=no,resizable=no,scrollbars=yes','true');";
                                //script += "</script>";
                                script = "window.open('{0}?np={1}','','width=800,height=600,top=50,left=250,status=no,resizable=no,scrollbars=yes','true');";
                                
                                str = string.Format(script, imprPage, pObjPedido.NumPedido);
                            }
                            else
                            {
                                //PARA PROD SE DEBE DE QUITAR ESTA LINEA window.open('DocImprInst.aspx?np={1}'
                                lstDetalle = PedidoBC.Instance.listadoInstalacion(pObjPedido.NumPedido);
                                Session["listadoInstalacion"] = lstDetalle;
                                string script = string.Empty;
                                //script = "<script type='text/javascript'>" +
                                //          "window.open('{0}?np={1}','','width=600,height=600,top=50,left=150,status=no,resizable=no,scrollbars=yes','true'); ";
                                //script += "</script>";
                                script = "function()" + " { " + " window.open('{0}?np={1}','','width=600,height=600,top=50,left=150,status=no,resizable=no,scrollbars=yes','true'); }";
                                //str = string.Format(script, imprPage, pObjPedido.NumPedido);
                                str = script.Replace("{0}", imprPage);
                                str = str.Replace("{1}", pObjPedido.NumPedido);
                            }
                            ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "IMPRIMIR", str, false);
                        }
                    }
                    else
                    {
                        Session["Mensaje"] = "No se encontró el Doc de Ventas";
                        //txtNumPedido.Focus();
                    }
                }
                else
                {
                    Session["Mensaje"] = "Debe seleccionar un tipo de impresión válida.";
                }
            }
        }
    }
}
